Al intentar ejecutar la aplicación o al intentar lanzar los tests obtenemos el siguiente error:
NullInjectorError: R3InjectorError(DynamicTestModule)[SelectorsService -> HttpClient -> HttpClient]:
NullInjectorError: No provider for HttpClient!
Este error se da porque nos hace falta importar el módulo relativo a la clase que aparece en el error, en el ejemplo anterior sería el modulo "HttpClientTestingModule", para saber el modulo que tenemos que importar lo mejor es buscar en google, ya que el nombre no siempre es intuitivo...:
Para solucionar el error en el caso de que se de en un test, podemos importarlo en la sección de imports dentro de la configuración del test:
En el caso de que el error nos dé en un componente tenemos que importar el módulo dentro del app.module.ts o dentro de un module.ts relátivo a ese componente.
Este error también podemos verlo en la consola del navegador, indicandonos el archivo de modulos donde no se está encontrando el import (users.module en este caso):
Listado de imports necesarios según la clase que no se puede encontrar:
En el caso del MatDialogRef tenemos que añadir lo siguiente en providers:
providers: [
{ provide: MatDialogRef, useValue: {} },
{ provide: MAT_DIALOG_DATA, useValue: {} },
]
Angular | import